/**
 * 
 *  测试使用功能形宏定义
 * 
 *  gcc -D__DEFINE_TEST=1000L file.c -o ./TestOutFile/file.out
 *  gcc file.c -o ./TestOutFile/file_.out
 * 
 *  详见gcc的-D选项
 *     -D<macroname>=<value>
              Adds an implicit #define into the predefines buffer which is read before  the  source
              file is preprocessed.
 **/
#include <stdio.h>
#ifdef __DEFINE_TEST
static long test_num = __DEFINE_TEST;
#endif

#define X(x) #x

int main(int argc, char const *argv[])
{
    #ifdef __DEFINE_TEST
        printf("test_num: %ld\n", test_num);
    #else
        printf("DEFINE: %s ERROR!\n", X(__DEFINE_TEST));
    #endif
    return 0;
}
